#pragma once


#include "Containers/String.h"
#include "Math/IntPoint.h"
#include "Containers/SharedObjectPtr.h"

class RWindow;
class RWidget;

//create a common editor window
namespace WHE
{

    struct SCommonWindowCreateInfo
    {
        CString Title;
        SIntPoint Size= SIntPoint(800,600);
        bool MinimizeMaximizeButton = true;
        bool Resizeable = true;
        
        //if true, window title will blink when window
        //is modal window and user click other window
        bool bTitleBlinkEffectForModalWindow = false;
    };

    struct SCommonWindowCreateResult
    {
        TSharedObjectPtr<RWindow> Window;
        TSharedObjectPtr<RWidget> WindowContent;
    };

    //create a editor window 
    WHE::SCommonWindowCreateResult 
        CreateCommonWindow(const WHE::SCommonWindowCreateInfo & Info);

}